//package cn.dansj.test;
//
//import org.jaudiotagger.audio.AudioFile;
//import org.jaudiotagger.audio.AudioFileIO;
//import org.jaudiotagger.tag.FieldKey;
//import org.jaudiotagger.tag.Tag;
//
//import java.io.File;
//import java.io.IOException;
//import java.nio.file.Files;
//import java.nio.file.Path;
//import java.nio.file.Paths;
//
//public class FlacMetadataReader {
//
//    public static void main(String[] args) throws IOException {
//        // 指定要扫描的目录
//        Path directory = Paths.get("E:\\test"); // 替换为你的FLAC文件目录
//
//        // 确保目录存在
//        if (!Files.exists(directory)) {
//            System.err.println("目录不存在: " + directory);
//            return;
//        }
//
//        System.out.println("开始从 " + directory + " 读取FLAC文件元数据...");
//
//        // 遍历目录中的文件
//        Files.walk(directory)
//                .filter(Files::isRegularFile)
//                .filter(p -> p.toString().toLowerCase().endsWith(".flac"))
//                .forEach(p -> {
//                    try {
//                        File audioFile = p.toFile();
//                        AudioFile f = AudioFileIO.read(audioFile);
//                        Tag tag = f.getTag();
//
//                        // 获取音乐名称
//                        String title = tag.getFirst(FieldKey.TITLE);
//                        // 获取艺术家
//                        String artist = tag.getFirst(FieldKey.ARTIST);
//                        // 获取专辑
//                        String album = tag.getFirst(FieldKey.ALBUM);
//
//                        System.out.println("文件: " + p.getFileName());
//                        System.out.println("  标题: " + (title.isEmpty() ? "未知" : title));
//                        System.out.println("  艺术家: " + (artist.isEmpty() ? "未知" : artist));
//                        System.out.println("  专辑: " + (album.isEmpty() ? "未知" : album));
//                        System.out.println("----------------------------------");
//
//                    } catch (Exception e) {
//                        System.err.println("处理文件 " + p + " 时出错: " + e.getMessage());
//                    }
//                });
//
//        System.out.println("元数据读取完成！");
//    }
//}